Verzeichnisschutz für eigene Websites mit Yunohost
Use Case
Um eigene Websites und Webapps über Yunohost einzurichten, gibt es die generische my _webapp Applikation im Yunhost App-Katalog. So kann man z.b. eigene statische HTML Seiten, erzeugt mit einem Static Site Generator, einfach online bringen.
Was hier fehlt, ist ein Verzeichnisschutz. Soll ein Teil der Seite einen zugangsbeschränkten Bereich bekommen, muss man Hand anlegen. Im Folgenden wird die stabile Variante über die integrierte Berechtigung von Yunohost beschrieben.
Anleitung
- Einen oder mehrere Yunohost User anlegen (wenn der Zugang für Dritte sein soll)
- es kann ein generischer User sein für die lokalen Vereinsfreunde
- es kann ein dedizierter User pro Person sein (mehr Kontrolle, aber auch mehr Aufwand)
- eventuell will man auch nur den Bereich für den Eigengebrauch schützen, dann reicht der bereits existierende eigene Yunohost User
- Einen Eintrag im File /etc/ssowat/conf.json.persistent vornehmen (siehe Details)
- SSOWAT Config neu laden:
sudo yunohost app ssowatconf
Konfiguration von /etc/ssowat/conf.json.persistent
Im folgenden Beispiel soll ein Schutz des Unterverzeichnis "notes„ für den User “ALLOWED _USER" eingerichtet werden /(ebenso für den admin und deinen eigenen User).
Hinweis: in "uris":
habe ich zur Erleichterung verschiedene Varianten der URL aufgelistet.
{ "permissions": { "my_webapp.notes": { "auth_header": false, "label": "notes", "public": false, "show_tile": false, "uris": [ "mydomain.de/notes", "www.mydomain.de/notes", "mydomain.de/notes/", "www.mydomain.de/notes/" ], "use_remote_user_var_in_nginx_conf": false, "users": [ "admin", "YOUR_PERSONAL_USER", "ALLOWED_USER" ] } }, "redirected_urls": { } }
Damit die Konfigurationsänderung greift, wie in Punkt 3 beschrieben,
sudo yunohost app ssowatconf
ausführen und ggf. offene bisherigen Versionen der Zielseite im Browser schließen, damit die Änderungen sofort sichtbar werden
Ergebnis
Ruft man nun die …/notes Seite auf, wird man auf die (übrigens auch anpassbare) Yunohost Login Seite gelenkt und nach erfolgreichem Login landet man wie gewünscht auf der Zielseite.
Dieser Verzeichnisschutz greift unabhängig von lokal im Webserver konfigurierten Zugriffsbeschränkungen und bleibt auch nach einem Yunohost Update erhalten (dies ist bei Manipulation der /etc/nginx/conf.d… nicht der Fall).